33 research outputs found

    Mechanizing type environments in weak HOAS

    Get PDF
    We provide a paradigmatic case study, about the formalization of System F<:'s type language in the proof assistant Coq. Our approach relies on weak HOAS, for the sake of producing a readable and concise representation of the object language. Actually, we present and discuss two encoding strategies for typing environments which yield a remarkable influence on the whole formalization. Then, on the one hand we develop System F<:'s metatheory, on the other hand we address the equivalence of the two approaches internally to Coq

    On the Formalization of Imperative Object-based Calculiin (Co)Inductive Type Theories

    Get PDF
    In this paper, we study the formalization of Abadi and Cardelli's impsigma, a representative object-based calculus with types and side effects, in interactive proof assistants based on (Co)Inductive Type Theories, Like Coq. In order to make the formal development of the theory of impsigma easier, we reformulate its static and dynamic semantics taking most advantage of the features provided by CC^(Co)Ind, the coinductive type theory underlying Coq. The new presentation is thus in the style of Natural Deduction Semantics (the counterpart in Natural Deduction style of Kahn's Natural semantics), using higher-order abstract syntax and hypothetical-general premises à la Martin-Löf. Interestingly, for a significant fragment of impsigma we can even use coinductive typing systems, thus avoiding "store types" and leading to a substantial simplification of the proofs of key metaproperties, such as Subject Reduction. The solutions we have devised in the encoding of and metareasoning on can be readily applied to other imperative calculi featuring similar issues

    A prototype-based approach to object evolution

    Get PDF
    International audienceWe investigate, in the context of functional prototype-based languages , a calculus of objects which might extend themselves upon receiving a message, a possibility referred to by Cardelli as a self-inflicted operation. We present a sound type system for this calculus which guarantees that evaluating a well-typed expression will never yield a message-not-found runtime error. The resulting calculus is an attempt towards the definition of a language combining the safety advantage of static type check with the flexibility normally found in dynamically typed languages

    A coinductive semantics of the Unlimited Register Machine

    Get PDF
    We exploit (co)inductive specifications and proofs to approach the evaluation of low-level programs for the Unlimited Register Machine (URM) within the Coq system, a proof assistant based on the Calculus of (Co)Inductive Constructions type theory. Our formalization allows us to certify the implementation of partial functions, thus it can be regarded as a first step towards the development of a workbench for the formal analysis and verification of both converging and diverging computations

    Certified reasoning on real numbers and objects in co-inductive type theory

    No full text
    We adopt Formal Methods based on Type Theory for reasoning on the semantics of computer programs: the ultimate goal is to prove that a fragment of software meets its formal specification. Application areas of our research are the Real Numbers datatype and the Object-oriented Languages based on Objects. In the first part we construct the Real Numbers using streams, i.e. infinite sequences, of signed digits. We implement the Reals in Coq using streams, which are managed using coinductive judgments and corecursive algorithms. Then we introduce a constructive axiomatization and we use it for proving the adequacy of our construction. In the second part we approach Object-based Calculi with side-effects, focusing on Abadi and Cardelli's imp[sigma]. We reformulate imp[sigma] using modern encoding techniques, as Higher-Order Abstract Syntax and Coinductive proof systems in Natural Deduction style. Then we formalize imp[sigma] in Coq and we prove the Type Soundness.Nous adoptons des Méthodes Formelles basées sur la Théorie de Type pour raisonner sur la sémantique des programmes: le but final est montrer qu'un fragment de logiciel répond à ses spécifications formelles. Les domaines d'application de notre recherche sont le type des données des Nombres Réels et les Langages orientés Objets. Dans la première partie nous construisons les réels en utilisant des streams, c.-à-d. des suites infinies, de chiffres signés. Nous mettons en application les Nombres Réels dans Coq en utilisant les streams, qui sont contrôlés en utilisant des jugements coinductifs et des algorithmes corecursifs. Puis nous présentons une axiomatisation constructive et nous l'employons pour prouver l'adéquation de notre construction. Dans la deuxième partie nous étudions les calculs basées objets avec effet de bord, nous concentrant sur imp[sigma] d'Abadi et de Cardelli. Nous reformulons imp[sigma] en utilisant des techniques de codage modernes, comme la Syntaxe Abstraite d'Ordre Supérieur et des systèmes de preuve Coinductifs en Déduction Naturelle. Enfin nous formalisons imp[sigma] dans Coq et nous prouvons la correction des types

    General Terms

    No full text
    We illustrate the benefits of using Natural Deduction in combination with weak Higher-Order Abstract Syntax for formalizing an object-based calculus with objects, cloning, method-update, types with subtyping, and side-effects, in inductive type theories such as the Calculus of Inductive Constructions. This setting suggests a clean and compact formalization of the syntax and semantics of the calculus, with an efficient management of method closures. Using our formalization and the Theory of Contexts, we can prove formally the Subject Reduction Theorem in the proof assistant Coq, with a relatively small overhead

    Reasoning on an Imperative Object-based Calculus in Higher Order Abstract Syntax

    No full text
    Syntax Alberto Ciaffaglione # [email protected] Luigi Liquori [email protected] Marino Miculan [email protected] ABSTRACT We illustrate the benefits of using Natural Deduction in combination with weak Higher-Order Abstract Syntax for formalizing an object-based calculus with objects, cloning, method-update, types with subtyping, and side-e#ects, in inductive type theories such as the Calculus of Inductive Constructions. This setting suggests a clean and compact formalization of the syntax and semantics of the calculus, with an e#cient management of method closures. Using our formalization and the Theory of Contexts, we can prove formally the Subject Reduction Theorem in the proof assistant Coq, with a relatively small overhead

    Raisonnement certifié sur les nombres réels et les objets en théorie des types co-inductifs

    No full text
    NANCY-INPL-Bib. Ă©lectronique (545479901) / SudocSudocFranceF
    corecore